package com.dc.refactoring._5_简化函数调用._9_IntroduceParameterObject.newObject;

import lombok.AllArgsConstructor;
import lombok.Getter;

import java.util.Date;

/**
 * Description: 日期范围类
 * @author: gdc
 * @date: 2020/12/10
 * @version 1.0
 */
@AllArgsConstructor
@Getter
public class DateRange {

    // ***  所有的字段都是final,只能由构造器来赋值，因此没有任何函数可以修改其中任何字段值

    /**
     * 开始日期
     */
    private final Date start;
    /**
     * 结束日期
     */
    private final Date end;


    /**
     * 判断给定日期是否符合当前日期范围     【2】迎合 Account 类中第二种方式
     * @param date          给定日期
     * @return              结果
     */
    public boolean includes(Date date) {
        if (date.compareTo(start) >= 0 && date.compareTo(end) <= 0) {
            return true;
        }
        return false;
    }


}
